package com.shujia;

public class Homework {

    public static void main(String[] args) {
        /*
        4.利用”异或”运算的性质,对几个字符进行加密并输出密文,然后再解密。
        加密算法是：密钥是字符’8’，明文的每个字符和密钥进行异或运算，得到密文。
        密钥和密文的每个字符再次进行异或运算，重新得到明文。结果如图所示。
         */
        char s = '8';
        char c1 = '十', c2 = '点', c3 = '进', c4 = '攻';
        System.out.println("" + c1 + c2 + c3 + c4);
        // 加密, 一个字符对同一个数字异或两次, 结果是他本身
        c1 = (char) (c1 ^ s);
        c2 = (char) (c2 ^ s);
        c3 = (char) (c3 ^ s);
        c4 = (char) (c4 ^ s);
        System.out.println("" + c1 + c2 + c3 + c4);

        // 解密, 一个字符对同一个数字异或两次, 结果是他本身
        c1 = (char) (c1 ^ s);
        c2 = (char) (c2 ^ s);
        c3 = (char) (c3 ^ s);
        c4 = (char) (c4 ^ s);
        System.out.println("" + c1 + c2 + c3 + c4);




        /*
        3.定义一个四位会员号：计算四位会员号的各位之和（个位，十位，百位，千位上数字求和）
         */
        int num = 4578;// 24
        int ge = num % 10;
        int shi = num / 10 % 10;
        int bai = num / 100 % 10;
        int qian = num / 1000 % 10;

        System.out.println("sum:" + (ge + shi + bai + qian));
    }
}
